草庐IT

Android JsonArray 和 JsonObject 反序列化

全部标签

C# Xml 序列化和反序列化

我正在尝试序列化一个对象并将其保存到Sqlserver2008xml字段中。我还有一些反序列化代码可以重新水合对象。我能够序列化对象并将其保存到数据库中,但出现“根元素缺失”异常。[XmlRoot("Patient")]publicclassPatientXml{privateAddressXml_address=null;privateEmergencyContactXml_emergencyContact=null;privatePersonalXml_personal=null;[XmlElement]publicPersonalXmlPersonal{get{return_pe

c# - 如何序列化静态类的非静态子类

我想序列化一个非常普通的类,但要注意的是它嵌套在一个静态类中,如下所示:publicstaticclassStaticClass{[Serializable]publicclassSomeType{...}}这段代码:StaticClass.SomeTypeobj=newStaticClass.SomeType();XmlSerializermySerializer=newXmlSerializer(typeof(obj));产生这个错误:StaticClass.SomeTypecannotbeserialized.Statictypescannotbeusedasparameters

c# - 未调用反序列化构造函数

我正在尝试序列化/反序列化一个包含Dictionary的对象.这些都是自定义类型。在我的代码中,我有一种Template类型,其中包含Dictionary.这是我尝试序列化/反序列化的Template类。为了解决这个集合是字典的问题,我实现了ISerializable我的模板类上的接口(interface)....[Serializable]publicclassTemplate:ISerializable{protectedTemplate(SerializationInfoinfo,StreamingContextcontext){//DeserializethesectionsL

c# - 将 XML 元素存在反序列化为 C# 中的 bool

我正在尝试将Web服务中的一些XML反序列化为C#POCO。我已经为我需要的大多数属性工作了,但是,我需要根据元素是否存在来设置bool属性,但似乎看不到如何做到这一点?示例XML片段:1C#类示例:[Serializable,XmlRoot("someThing")]publicclassSomething{[XmlAttribute("test")]publicboolTest{get;set;}[XmlElement("someThingElse")]publicintElse{get;set;}//////trueiftargetelementispresent,///othe

C# Xml序列化、集合和根元素

我的应用序列化流中的对象。这是我需要的示例:在这种情况下,该对象是“链接”对象的集合。------------第一个版本起初我使用了DataContractSerializer,但是你不能将成员序列化为属性(source)这是对象:[DataContract(Name="link")]publicclassLinkV1{[DataMember(Name="href")]publicstringUrl{get;set;}[DataMember(Name="rel")]publicstringRelationship{get;set;}}结果如下:/usersusers/featuresf

c# - 反序列化使得字段是一个空列表而不是 null

如果我有这样的类(class):[DataContract(Name="",Namespace="")]publicclassMyDataObject{[DataMember(Name="NeverNull")]publicIListMyInts{get;set;}}当反序列化以下字符串时,有没有一种方法可以使MyInts字段成为非空空列表?stringserialized=@"{""NeverNull"":null}";MyDataObjectmyDataObject=JsonConvert.DeserializeObject(serialized);我正在使用Newtonsoft.

c# - 使用 JSON 序列化请求对象

我目前正在进行概念验证,遇到了一个涉及使用JSON序列化HttpRequest的问题。背景我原本以为我可以使用JSON.Encode()轻松完成它方法如下所示:JSON.Encode(HttpContext.Request)但是,我很快发现这会导致抛出各种循环引用(主要是由于Request对象的实际结构和复杂性)。这些只会在实际遇到包含循环引用的属性时发生,因为我之前使用以下代码来获取我需要的特定元素:JSON.Encode(new{HttpContext.Request.Cookies,HttpContext.Request.Headers,...});效果很好。我只是好奇是否有更好

c# - 使用 Json.NET 序列化时如何省略空集合

我正在使用Newtonsoft的Json.NET7.0.0.0将类从C#序列化为JSON:classFoo{publicstringX;publicListY=newList();}varjson=JsonConvert.SerializeObject(newFoo(),Formatting.Indented,newJsonSerializerSettings{NullValueHandling=NullValueHandling.Ignore});这里json的值是{"Y":[]}但如果Y是一个空列表,我希望它是{}。我找不到令人满意的方法来实现这一点。也许使用自定义契约(Contr

c# - 将类设置为可序列化的缺点

我正在使用Azure缓存预览版,需要使一些类可序列化。将类设置为可序列化是否有任何缺点-例如性能问题?[Serializable]publicclassMyClass{}我发现很少有相关问题,但它们不是关于缺点的。Areall.NETexceptionsserializable?DrawbacksofmarkingaclassasSerializable提前致谢 最佳答案 不,仅仅被标记为[Serializable]并没有内在的开销。我遇到的唯一问题是BinaryFormatter和NetDataContractSerializer

c# - 为什么我不应该使类可序列化?

我正在我的View状态中存储一些对象,我想知道制作一个类Serializable是否有任何缺点?让所有的类都Serializable是不好的做法吗? 最佳答案 首先。避免View状态。通常序列化(文本)用于传输对象。您应该避免将任何不是DTO(数据传输对象)或消息类的类标记为可序列化。我们这样做有几个原因。以序列化格式获取您的类的内容可能没有非DTO类的方法信息(在原始程序集中)。其次,一个类可能引用一个资源(数据库连接、文件句柄等)不要序列化这些,因为反序列化不会重新建立资源连接和状态,除非明确设计,但这仍然是一个坏主意。所以总而